SD (top), miniSD, microSD cards |
|
Media type | Memory card |
---|---|
Capacity | SDSC (SD): 1 MB to 2 GB although 4 GB cards are available SDHC: 4 GB to 32 GB SDXC: >32 GB to 2 TB |
Developed by | SD Card Association |
Dimensions | Standard: 32×24×2.1 mm Mini: 21.5×20×1.4 mm Micro: 15×11×1.0 mm |
Weight | Standard: ~2.0 g Mini: ~1.0 g Micro: ~0.5 g |
Usage | Portable devices, including digital cameras and handheld computers |
Extended from | MultiMediaCard (MMC) |
Secure Digital (SD) is a non-volatile memory card format developed by the SD Card Association (SDA) for use in portable devices. The SD technology is used by more than 400 brands across dozens of product categories and more than 8,000 models.[1]
SD comprises several families of cards:[2] the original, Standard-Capacity (SDSC) card, a High-Capacity (SDHC) card family, an eXtended-Capacity (SDXC) card family,[3] and the SDIO[4] family with input/output functions rather than just data storage.
SD also comprises three different form factors: the original size, the "mini" size, and the "micro" size (see illustration). Electrically passive adaptors allow the use of a smaller card in a host device built to hold a larger card. There are many combinations of form factors and device families.
Host devices that comply with newer versions of the specification provide backward compatibility and accept older SD cards, but older host devices do not recognize newer cards. The SDA uses several trademarked logos to enforce compliance with its specifications and assure users of compatibility.[5] This article explains several factors that can prevent the use of a newer SD card:
Contents |
The SDA extended the SD specification in various ways:
The SD card specification defines three physical sizes. The SD and SDHC families are available in all three sizes, but the SDXC family is not available in the mini size, and the SDIO family is not available in the micro size.
The Secure Digital High Capacity (SDHC) format, defined in Version 2.0 of the SD specification, supports cards with capacities up to 32 GB.[1] The SDHC trademark is licensed to ensure compatibility.[6]
SDHC cards are physically and electrically identical to standard-capacity SD cards (SDSC). The major compatibility issues between SDHC and SDSC cards are the redefinition of the Card-Specific Data (CSD) register in Version 2.0 (see below), and the fact that SDHC cards are shipped preformatted with the FAT32 file system.
Host devices that accept SDHC cards are required to accept SDSC cards.[1] However, host devices designed for SDSC do not recognize SDHC or SDXC memory cards, although some devices can do so through a firmware upgrade.[7] Microsoft Windows may need a hotfix to support access to SDHC cards.[8][9][10]
The Secure Digital Extended Capacity (SDXC) format supports cards up to 2 TB (2048 GB), compared to a limit of 32 GB for SDHC cards in the SD 2.0 specification.
SDXC was announced at Consumer Electronics Show (CES) 2009 (January 7–10, 2009). At the same show, SanDisk and Sony also announced a comparable Memory Stick XC variant with the same 2 TB maximum as SDXC,[11] and Panasonic announced plans to produce 64 GB SDXC cards.[12]
On March 6, 2009, Pretec introduced the first SDXC card,[13] a 32 GB card with a read/write speed of 400 Mbit/s. But it was not until early 2010 that compatible host devices came onto the market, including Sony's Handycam HDR-CX55V camcorder, Canon's EOS Rebel T2i Digital SLR camera,[14] a USB card reader from Panasonic, and an integrated SDXC card reader from JMicron.[15] The earliest laptops to integrate SDXC card readers relied on a USB 2.0 bus, which does not have the bandwidth to support SDXC at full speed.[16]
Also in early 2010, commercial SDXC cards appeared from Toshiba (64 GB),[17][18] Panasonic (64 GB and 48 GB),[19] and SanDisk (64 GB).[20] In early 2011, Centon Electronics, Inc. (64 GB and 128 GB) and Lexar (128 GB)[21] began shipping SDXC cards rated at Speed Class 10. Pretec offered cards from 8 GB to 128 GB rated at Speed Class 16.[22]
In September 2011, SanDisk released a 64 GB microSDXC card.[23] Kingmax released a comparable product in 2011.[24]
SDXC host devices accept all previous families of SD memory cards.[25] Conversely, SDHC host devices will accept SDXC cards that follow Version 3.0, since the interface is identical,[3] but the following issues may affect usability:
Microsoft Windows versions that support SDXC are: Windows 7, Windows Vista SP1+,[3] Windows XP SP2 or SP3 with KB955704,[27] Windows Server 2008 SP1+, Windows Server 2003 SP2 or SP3 with KB955704, and Windows CE 6.0 and higher.
Apple Mac OS X versions that support SDXC cards and exFAT are Mac OS X Snow Leopard 10.6.5 or later including OS X Lion 10.7.[28][29]
Linux systems that support SDHC cards also support SDXC cards that contain a compatible file system. A commercial Linux driver is available for the exFAT file system.[30] The user may also reformat the card to contain a different file system (see below).
A SDIO (Secure Digital Input Output) card is an extension of the SD specification to cover I/O functions. Host devices that support SDIO (typically PDAs like the Palm Treo, but occasionally laptops or mobile phones) can use the SD slot to support GPS receivers, modems, barcode readers, FM radio tuners, TV tuners, RFID readers, digital cameras, and interfaces to Wi-Fi, Bluetooth, Ethernet, and IrDA. Many other SDIO devices have been proposed, but it is now more common for I/O devices to connect using the USB interface.
SDIO cards support most of the memory commands of SD cards. SDIO cards can be structured as 8 logical cards, although currently, the typical way that an SDIO card uses this capability is to structure itself as one I/O card and one memory card.
The SDIO and SD interfaces are mechanically and electrically identical. Host devices built for SDIO cards generally accept SD memory cards without I/O functions. However, the reverse is not true, because host devices need suitable drivers and applications to support the card's I/O functions. For example, an HP SDIO camera usually does not work with PDAs that do not list it as an accessory. Inserting an SDIO card into any SD slot causes no physical damage nor disruption to the host device, but users may be frustrated that the SDIO card does not function fully when inserted into a seemingly compatible slot. (Bluetooth devices exhibit comparable compatibility issues, although to a lesser extent thanks to standardized Bluetooth profiles.)
When looking at the card from the top, the right side (the side with the beveled corner) must be notched.
On the left side, there may be a write-protection notch. If the notch is omitted, the card can be read and written. If the card is notched, it is read-only, except that the notch may be partly covered by a sliding tab. In this case, the user can slide the tab upward (toward the contacts) to declare the card read/write, or downward to declare it read-only.
The presence of a notch, and the presence and position of a tab, have no effect on the SD card's operation. A host device that supports write protection should refuse to write to an SD card that is designated read-only in this way. Some host devices do not support write protection, which is an optional feature of the SD specification. Host devices that do obey a read-only indication may give the user a way to override it. The miniSD and microSD formats do not support write protection with the notch-and-tab method.
Typical cards sold as a medium for protected content are permanently marked read-only by having a notch and no sliding tab.
A host device can lock an SD card using a password of up to 16 bytes, typically supplied by the user. A locked card interacts normally with the host device except that it rejects commands to read and write data. A locked card can be unlocked only by providing the same password. The host device can, after supplying the old password, specify a new password or disable locking. Without the password (typically, in the case that the user forgets the password), the host device can command the card to erase all the data on the card for future re-use (except card data under DRM), but there is no way to gain access to the existing data.
All SD cards incorporate a digital rights management (DRM) scheme. Roughly 10% of the storage capacity of an SD card is not available to the user, but is used by the on-card processor to verify the identity of an application program that it will then allow to read protected content. The card prohibits other accesses, such as users trying to make copies of protected files.
The DRM scheme embedded in the SD cards is the Content Protection for Recordable Media (CPRM or CPPM) specification of the 4C Entity, which features the Cryptomeria cipher (also termed C2). The specification is kept secret and is accessible only to licensees. The scheme has not been broken or hacked, but this feature of SD cards is rarely used to protect content. DVD-Audio uses the same DRM scheme.
Windows Media files can be DRM-encoded so as to make use of the SD card's DRM abilities.
Windows Phone 7 devices use SD cards designed to be accessed only by the phone manufacturer or mobile provider. An SD card inserted into the phone underneath the battery compartment becomes locked "to the phone with an automatically generated key" so that "the SD card cannot be read by another phone, device, or PC".[31] Symbian devices, however, are some of the very few which can perform the necessary low-level format operations on locked SD cards. It is therefore possible to use a device such as the Nokia N8 to reformat the card for subsequent use in other devices.[32]
The Super Digital cards manufactured by Super*Talent are the same in appearance and function as Secure Digital cards, but they lack the CPRM feature of Secure Digital cards.[33]
Vendors have sought to differentiate their products in the market through various vendor-specific features:
An SD card's speed is measured by how quickly information can be read from, or written to, the card. In applications that require sustained write throughput, such as video recording, the device might not perform satisfactorily if the SD card's class rating falls below a particular speed. For example, a camcorder built for a Class 6 card may suffer dropouts or corrupted video if a slower card is used. Digital cameras may experience a noticeable lag between shots, while the camera writes the picture to a slower card.
A card's speed depends on many factors, such as the following:
In early SD cards, the speed was measured with the × rating, which compared the average speed of reading data to that of the original CD-ROM drive. Currently, the official unit of measurement is the Speed Class Rating, which guarantees a minimum rate at which data can be written to the card.
The newer families of SD card improve card speed by increasing the bus rate (the frequency of the clock signal that strobes information into and out of the card). Whatever the bus rate, the card can signal to the host that it is "busy" until a read or a write operation is complete. Compliance with a higher speed rating is a guarantee that the card limits its use of the "busy" indication.
The Speed Class Rating is the official unit of speed measurement for SD cards. The class number guarantees a minimum write speed as a multiple of 8 Mbit/s (1 MB/s). The SDA defines several speed class ratings, but manufacturers may claim conformance to those ratings without independent verification.
The host device can read a card's speed class, unlike the earlier "×" speed ratings. A device can warn the user if the card reports a speed class that falls below an application's minimum need.[39]
These are the ratings of all currently available cards:[40][41]
Class | Speed |
---|---|
Class 2 | 2 MB/s |
Class 4 | 4 MB/s |
Class 6 | 6 MB/s |
Class 10 | 10 MB/s |
Speed Classes 2, 4, and 6 assert that the card supports the respective number of MB/s as a minimum sustained write speed for a card in a fragmented state. Class 10 asserts that the card supports 10 MB/s as a minimum non-fragmented sequential write speed.[39] By comparison, the older "×" rating measured maximum speed under ideal conditions, and was vague as to whether this was read speed or write speed.
The × rating is a multiple of the standard CD-ROM drive speed of 1.2 Mbit/s (approximately 150 kB/s). Basic cards transfer data up to six times (6×) the CD-ROM speed; that is, 7.2 Mbit/s. The 2.0 specification defines speeds up to 200×, but is not as specific as Speed Classes are on how to measure speed. Manufacturers may report best-case speeds and may report the card's fastest read speed, which is typically faster than the write speed. Vendors including Transcend and Kingston report their cards' write speed.[42]
This table lists common ratings, the minimum transfer rates, and the corresponding Speed Class (though the comparison is not always exact).
Rating | Read Speed (MB/s) |
Write Speed (MB/s) |
Speed Class |
---|---|---|---|
6× | 0.9 | ||
10× | 1.5 | ||
13× | 2.0 | 2.0 | 2 |
26× | 4.0 | 4.0 | 4 |
32× | 4.8 | 5.0 | |
40× | 6.0 | 6.0 | 6 |
66× | 10.0 | 10.0 | 10 |
100× | 15.0 | 15.0 | |
133× | 20.0 | 20.0 | |
150× | 22.5 | 22.5 | |
200× | 30.0 | 30.0 | |
266× | 40.0 | 40.0 | |
300× | 45.0 | 45.0 | |
400× | 60.0 | 60.0 | |
600× | 90.0 | 90.0 |
The Ultra-High Speed (UHS) interface is available on some SDHC and SDXC cards.[43] The following ultra-high speeds are specified:
Rating | Read Speed (MB/s) |
Write Speed (MB/s) |
Speed Class |
---|---|---|---|
Class 1 | 10 | ||
Class 6 | 30[44] |
UHS memory cards work best with UHS host devices. The combination lets the user record HD resolution videos to tapeless camcorders while performing other functions. It is also suitable for real-time broadcasts and capturing large HD videos.
Cards that comply with UHS show UHS-I or UHS-II on the label, and report this capability to the host device. Use of UHS requires that the host device command the card to drop from 3.3-volt to 1.8-volt operation and select the 4-bit transfer mode.
Secure Digital cards are used in many consumer electronic devices, and have become a widespread means of storing several gigabytes of data in a small size. Devices where the user may remove and replace cards often, such as digital cameras, camcorders, and video game consoles, tend to use full-sized cards. Devices where small size is paramount, such as mobile phones, tend to use microSD cards. SD cards are not the most economical solution in devices that need only a small amount of non-volatile memory, such as station presets in small radios. They may also not present the best choice for applications where higher storage capacities or speeds are a requirement as provided by other flash card standards such as Compact Flash.
Many personal computers of all types and personal digital assistants (PDAs) use SD cards, either through built-in slots or through an active electronic adaptor. Adaptors exist for the PC card, ExpressBus, USB, FireWire, and the parallel printer port. Active adaptors also let SD cards be used in devices designed for other formats. such as CompactFlash. The FlashPath adaptor lets SD cards be used in a floppy disk drive.
SD/MMC cards replaced Toshiba's SmartMedia as the dominant memory card format used in digital cameras. In 2001, SmartMedia had achieved nearly 50% use, but by 2005 SD/MMC had achieved over 40% of the digital camera market and SmartMedia's share had plummeted, with cards not being easily available in 2007.
At this time all the leading digital camera manufacturers use SD in their consumer product lines, including Canon, Casio, Fujifilm, Kodak, Leica, Nikon, Olympus, Panasonic, Pentax, Ricoh, Samsung, and Sony. Formerly, Olympus and Fujifilm used XD-Picture Cards (xD cards) exclusively, while Sony only used Memory Stick; however as of January 2010[update], all three support SD.
Some prosumer and professional digital camera models continue to offer CompactFlash, either on a second card slot or as the only storage, as they offer much higher capacities and faster transfer speeds and historically offered a better price/capacity ratio as well.
Secure Digital memory cards can be used in Sony XDCAM EX camcorders via the MEAD-SD01 adapter.[46]
Although many personal computers accommodate SD cards as an auxiliary storage device through a built-in slot or a USB adaptor, SD cards cannot be used as the primary hard disk through the onboard ATA controller because none of the SD card variants supports ATA signalling. This use requires a separate SD controller chip[47] or a SD-to-CompactFlash converter. However, on computers that support bootstrapping from a USB interface, an SD card in a USB adaptor can be the primary hard disk, provided it contains an operating system that supports USB access once the bootstrap is complete.
In 2008, the SDA specified Embedded SD, "leverag[ing] well-known SD standards" to enable non-removable SD-style devices on printed circuit boards.[48] SanDisk provides such memory components under the iNAND brand.[49]
Most modern microcontrollers have built-in SPI logic that can interface to a SD card operating in its SPI mode, providing non-volatile storage. Even if a microcontroller lacks the SPI feature, the feature can be emulated by bit banging. For example, a home-brew hack combines spare General Purpose Input/Output (GPIO) pins of the processor of the Linksys WRT54G router with MMC support code from the Linux kernel.[50] This technique can achieve throughput of up to 1.6 Mbit/s.
In 1999, SanDisk, Matsushita, and Toshiba agreed to develop and market the Secure Digital (SD) Memory Card, which was a development of the MultiMediaCard (MMC). The new card provided both digital rights management (DRM) up to the Secure Digital Music Initiative (SDMI) standard, and a high memory density for the time.
The new format was designed to compete with the Memory Stick, a DRM product that Sony released the prior year. It was mistakenly predicted that DRM features[51] would be widely used due to pressure from music and other media suppliers to prevent piracy.
The trademarked SD logo was originally developed for the Super Density Disc, which was the unsuccessful Toshiba entry in the DVD format war. This is why the D resembles an optical disc.
At the 2000 Consumer Electronics Show (CES) trade show, the three companies announced the creation of the SD Card Association (SDA) to promote SD cards. The association's headquarters are in California and it comprises some 30 companies that produce devices and content. Early samples of the SD Card were available in the first quarter of 2000, with production quantities of 32 and 64 MB cards available 3 months later.
The SD cards changed the MMC design in several ways:
Full-sized SD cards will not fit into the slimmer MMC slots, and there are other issues that affect the ability to use one format in a host device designed for the other.
In March 2003, SanDisk Corporation announced the introduction of the miniSD and demonstrated it at CeBIT 2003.[52] The SDA adopted the miniSD card in 2003 as a small form factor extension to the SD card standard. While the new cards were designed especially for use in mobile phones, they are usually packaged with a miniSD adapter which enables compatibility with all devices equipped with a standard SD memory card slot.
At CTIA Wireless 2005, the SDA announced the small microSD form factor (and SDHC, with capacities in excess of 2 GB and a minimum sustained read and write speed of 17.6 Mbit/s). SanDisk had conceived microSD when its CTO and the CTO of Motorola concluded that current memory cards were too large for mobile phones. The card was originally called T-Flash, but just before product launch, T-Mobile sent a cease and desist order to SanDisk claiming that T-Mobile owned the trademark on T-(anything), and the name was changed to TransFlash. TransFlash and microSD cards are the same; each can be used in devices made for the other.[53] SanDisk induced the SDA to administer the microSD standard. The SDA approved the final microSD specification on July 13, 2005. Initially, microSD cards were available in capacities of 32, 64, and 128 MB.
In April 2006, the SDA released a detailed specification for the non-security related parts of the SD memory card standard and for the Secure Digital Input Output (SDIO) cards and the standard SD host controller.
In September, 2006, SanDisk announced the 4 GB miniSDHC.[54] Like the SD and SDHC, the miniSDHC card has the same form factor as the older miniSD card but the HC card requires HC support built into the host device. Devices that support miniSDHC will work with miniSD and miniSDHC, but devices without specific support for miniSDHC will work only with the older miniSD card.
In January 2009, the SDA announced the SDXC family, which supports cards up to 2 TB and speeds up to 300 Mbyte/s.
Like most memory card formats, SD is covered by numerous patents and trademarks. Royalties for SD card licences are imposed for manufacture and sale of memory cards and host adapters (US$1,000/year plus membership at US$1,500/year), but SDIO cards can be made without royalties.
Early versions of the SD specification were available only after agreeing to a non-disclosure agreement (NDA) that prohibited development of an open source driver. However, the system was eventually reverse-engineered, and free software drivers provided access to SD cards that did not use DRM. Since then, the (SDA) has provided a simplified version of the specification under a less restrictive license.[55] Although most open-source drivers were written before this, it has helped them solve compatibility issues.
In 2006, the SDA also released a simplified version of the specification of the host controller interface (as opposed to the specification of SD cards) and later also for the physical layer, ASSD extensions, SDIO, and SDIO Bluetooth Type-A, under a disclaimers agreement.[56] Again, most of the information had already been discovered and Linux had a fully free driver for it. Still, building a chip conforming to this specification caused the One Laptop per Child project to claim "the first truly Open Source SD implementation, with no need to obtain an SDI license or sign NDAs to create SD drivers or applications."[57]
The fact that the complete SD specification is proprietary mainly affects embedded systems and laptops, since users of desktop PCs generally read SD cards via USB-based card readers. These card readers present a standard USB mass storage interface to memory cards, thus separating the operating system from the details of the underlying SD interface. However, embedded systems (such as portable music players) usually gain direct access to SD cards and thus need complete programming information. Desktop card readers are themselves embedded systems; their manufacturers have usually paid the SDA for complete access to the SD specifications. Many notebook computers now include SD card readers not based on USB; device drivers for these essentially gain direct access to the SD card, as do embedded systems.
The physical interface comprises 9 pins, except that the miniSD card adds two unconnected pins in the center and the microSD card omits one of the two VSS (Ground) pins.
SD card pin assignment | miniSD card pin assignment | microSD card pin assignment |
---|---|---|
Various SD cards may support various combinations of the following bus types and transfer modes. The SPI bus and one-bit SD bus are mandatory for all SD families, as explained in the next section.
Once the host device and the SD card negotiate a bus interface, the usage of the numbered pins is the same for all three card sizes:
|
|
|
Notes:
SD cards and host devices initially communicate through a synchronous one-bit interface, where the host device provides a clock signal that strobes single bits into and out of the SD card. The host device thereby sends 48-bit commands and receives responses. The card can signal that a response will be delayed, but the host device can abort the dialogue.
Through issuing various commands, the host device can:
The command interface is an extension of the MultiMediaCard (MMC) interface. SD cards dropped support for some of the commands in the MMC protocol, but added commands related to copy protection. By using only commands supported by both standards until determining the type of card inserted, a host device can accommodate both SD and MMC cards.
All SD card families initially use a 3.3-volt electrical interface. On command, SDHC and SDXC cards switch to 1.8-volt operation.[39]
At initial power-up or card insertion, the host device selects either the Serial Peripheral Interface (SPI) bus or the one-bit SD bus by the voltage level present on Pin 1. Thereafter, the host device may issue a command to switch to the four-bit SD bus interface, if the SD card supports it. For various card types, support for the four-bit SD bus is either optional or mandatory.[39]
After determining that the SD card supports it, the host device can also command the SD card to switch to a higher transfer speed. Until determining the card's capabilities, the host device should not use a clock speed faster than 400 kHz. SD cards other than SDIO (see below) have a Default Speed clock rate of 25 MHz. The host device is not required to use the maximum clock speed that the card supports. It may conserve power to operate at less than the maximum clock speed.[39] Between commands, the host device can stop the clock entirely.
The SDIO family comprises Low-Speed and Full-Speed cards. Both types of SDIO cards support SPI and one-bit SD bus types. Low-Speed SDIO cards are allowed to also support the four-bit SD bus; Full-Speed SDIO cards are required to support the four-bit SD bus. To use a SDIO card as a "combo card" (for both memory and I/O), the host device must first select four-bit SD bus operation. Two other unique features of Low-Speed SDIO are a maximum clock rate of 400 kHz for all communications, and the use of Pin 8 as "interrupt" to try to initiate dialogue with the host device.[58]
The one-bit SD protocol was derived from the MMC protocol, which envisaged the ability to put up to 3 cards on a bus of common signal lines. The cards use open collector interfaces, where a card may pull a line to the low voltage level; the line is at the high voltage level (because of a pull-up resistor) if no card pulls it low. Though the cards shared clock and signal lines, each card had its own chip select line to sense that the host device had selected it.
The SD protocol envisaged the ability to gang 30 cards together without separate chip select lines. The host device would broadcast commands to all cards and identify the card to respond to the command using its unique serial number.
In practice, cards are rarely ganged together because open-collector operation has problems at high speeds and increases power consumption. Newer versions of the SD specification recommend separate lines to each card.
The SD specification defines four-bit-wide transfers. (The MMC specification supports this and also defines an eight-bit-wide mode.) Transferring several bits on each clock pulse improves the card speed. Advanced SD families have also improved speed by offering faster clock frequencies and double data rate (explained here).
Like other types of flash memory card, an SD card of any SD family is a block-addressable storage device, in which the host device can read or write fixed-size blocks by specifying their block number.
Most SD cards ship preformatted with one or more MBR partitions, where the first or only partition contains a file system. This lets them operate like the hard disk of a personal computer. Per the SD card specification, an SD card is formatted with MBR and the following file system:
Most consumer products that take an SD card will expect it to be partitioned and formatted in this way. The universal support for FAT16 and FAT32 allow the usage of SDSC and SDHC cards on most host computers with a compatible SD reader, to present the user with the familiar method of named files in a hierarchical directory tree.
On such SD cards, standard utility programs such as Mac OS X's Disk_Utility or Windows' SCANDISK can be used to repair or retrieve corrupted data, and sometimes recover deleted files. Defragmentation tools for FAT file systems may be used on such cards. The resulting consolidation of files may provide a marginal improvement in the time required to read or write the file,[40] but not an improvement comparable to defragmentation of hard drives, where storing a file in multiple fragments may involve a time penalty to move between physical areas of the drive. Moreover, defragmentation performs writes to the SD card that count against the card's rated lifespan. The write endurance of the physical memory is discussed in the article on flash memory; newer technology to increase the storage capacity of a card currently provides worse write endurance.
When reformatting an SD card smaller than 4 GB, FAT16 should be used. (This is also an option for 4 GB cards, but it requires the use of 64 kiB clusters, which are not widely supported.) FAT16 does not support cards above 4 GB.
The SDXC specification makes Microsoft's proprietary exFAT file system mandatory,[59] which is supported only by some proprietary operating systems.
Because the host views the SD card as a block storage device, the card does not require MBR partitions or any specific file system. The card can be reformatted to use any file system the operating system supports. For example:
Additionally, an SD card called Live SD can contain an embedded operating system (such as Live USB). Computers that can bootstrap from an SD card (either using a USB adapter or inserted into the computer's flash media reader) instead of the hard disk drive may thereby be able to recover from a corrupted hard disk drive. A Live SD can be write-locked to preserve the system's integrity.
Reformatting an SD card with a different file system, or even with the same one, may make the card slower, or shorten its lifespan. Some cards use wear leveling, in which frequently modified blocks are mapped to different portions of memory at different times, and some wear-leveling algorithms are designed for the access patterns typical of the file allocation table on a FAT16 or FAT32 device.[60] In addition, the preformatted file system may use a cluster size that matches the erase region of the physical memory on the card; reformatting may change the cluster size and make writes less efficient.
The power consumption of microSD cards varies by manufacturer, but appears to be in the range of 66-330 mW (20-100 mA at a supply voltage of 3.3 V). Specifications from TwinMos technologies list a maximum of 149 mW (45 mA) during transfer. Toshiba, on the other hand, lists 264-330 mW (80-100 mA).[61]
All SD cards let the host device determine how much information the card can hold, and the specification of each SD family gives the host device a guarantee of the maximum capacity a compliant card will report.
By the time the Version 2.0 (SDHC) specification was completed in June 2006,[62] vendors had already devised 2 GB and 4 GB SD cards, either as specified in Version 1.01, or by creatively reading Version 1.00. The resulting cards do not work correctly in some host devices.[63][64]
A host device can ask any inserted SD card for its 128-bit identification string (the Card-Specific Data or CSD). In standard-capacity cards (SDSC), 12 bits identify the number of memory clusters (ranging from 1 to 4,096) and 3 bits identify the number of blocks per cluster (which decode to 4, 8, 16, 32, 64, 128, 256, or 512 blocks per cluster). The host device multiplies these figures (as shown in the following section) with the number of bytes per block to determine the card's capacity in bytes.
In SD version 1.00, the number of bytes per block was assumed to be 512. This permitted SDSC cards up to 4,096 × 512 × 512 = 1 GB, for which there are no known incompatibilities.
Version 1.01 let an SDSC card use a 4-bit field to indicate 1,024 or 2,048 bytes per block instead.[39] Doing so enabled cards with 2 GB and 4 GB capacity.
Early SDSC host devices that assume 512-byte blocks therefore will not fully support the insertion of 2 GB or 4 GB cards. In some cases, the host device can read data that happens to reside in the first 1 GB of the card. If the assumption is made in the driver software, success may differ from one version of Windows to another. In addition, any host device might not support a 4 GB SDSC card, since the specification lets it assume that 2 GB is the maximum for these cards.
The format of the Card-Specific Data (CSD) register changed between version 1 (SDSC) and version 2.0 (which defines SDHC and SDXC).
In Version 1 of the SD specification, capacity is calculated by combining fields of the CSD as follows:
Capacity=(C_SIZE+1)<<(C_SIZE_MULT+2)<<READ_BL_LEN 2 GiB max. Where 0<=C_SIZE<=4095, 0<=C_SIZE_MULT<=7, READ_BL_LEN==9 || READ_BL_LEN==10
Later versions state (at Section 4.3.2) that a 2 GB SDSC card shall set its READ_BL_LEN (and WRITE_BL_LEN) to indicate 1024 bytes, so that the above computation correctly reports the card's capacity; but that, for consistency, the host device shall not request (by CMD16) block lengths over 512 bytes.[39]
In the definition of SDHC cards in Version 2.0, the C_SIZE portion of the CSD is 22 bits and it indicates the memory size in multiples of 512 KB. (The C_SIZE_MULT field is removed and READ_BL_LEN is no longer used to compute capacity.) Two bits that were formerly reserved now identify the card family: 0 is SDSC; 1 is SDHC or SDXC; 2 and 3 are reserved.[39] Because of these redefinitions, older host devices do not correctly identify SDHC or SDXC cards nor their correct capacity.
Capacity is calculated thus:
Capacity=(C_SIZE+1)*524288 where for SDHC 4112<=C_SIZE<=65375 (approx. 2 GB) < capacity < 32 GiB for SDXC 65535<=C_SIZE 32 GiB <= capacity <= 2 TiB max.
Capacities above 4 GB can only be achieved by following Version 2.0 or later versions. In addition, capacities equal to 4 GB must also do so to guarantee compatibility.
Overall, SD is less open than CompactFlash or USB flash memory drives; these are open standards which can be implemented free of payment for licensing, royalties, or documentation. (CompactFlash and USB flash drives may, however, require licensing fees for the use of the SDA's trademarked logos.)
However, SD is much more open than Memory Stick, for which no public documentation nor any documented legacy implementation is available. All SD cards can be accessed freely using the well-documented SPI bus.
xD cards are simply 18-pin NAND flash chips in a special package and support the standard command set for raw NAND flash access. Although the raw hardware interface to xD cards is well understood, the layout of its memory contents—necessary for interoperability with xD card readers and digital cameras—is totally undocumented. The consortium that licenses xD cards has not released any technical information to the public.
Type | MMC | RS-MMC | MMC Plus | SecureMMC | SD | SDIO | miniSD | microSD |
---|---|---|---|---|---|---|---|---|
SD Socket | Yes | Mechanical adapter | Yes | Yes | Yes | Yes | Electromechanical adapter | Electromechanical adapter |
Pins | 7 | 7 | 13 | 7 | 9 | 9 | 11 | 8 |
Form factor | shallow | shallow/narrow | shallow | shallow | deep (some) | deep | narrow/slim/shallow | narrow/slim/extra shallow |
Breadth | 24 mm | 24 mm | 24 mm | 24 mm | 24 mm | 24 mm | 20 mm | 11 mm |
Width | 32 mm | 18 mm | 32 mm | 32 mm | 32 mm | 32 mm+ | 21.5 mm | 15 mm |
Depth | 1.4 mm | 1.4 mm | 1.4 mm | 1.4 mm | 2.1 mm (some) | 2.1 mm | 1.4 mm | 1 mm |
SPI mode | Optional | Optional | Optional | Yes | Yes | Yes | Yes | Yes |
1-bit mode | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
4-bit mode | No | No | Yes | ? | Optional | Optional | Optional | Optional |
8-bit mode | No | No | Yes | No | No | No | No | No |
Interrupts | No | No | No | No | No | Optional | No | No |
Max clock rate | 20 MHz | 20 MHz | 52 MHz | 20 MHz? | 208 MHz | 50 MHz | 208 MHz | 208 MHz |
Max transfer | 20 Mbit/s | 20 Mbit/s | 416 Mbit/s | 20 Mbit/s? | 832 Mbit/s | 200 Mbit/s | 832 Mbit/s | 832 Mbit/s |
Max SPI transfer | 20 Mbit/s | 20 Mbit/s | 52 Mbit/s | 20 Mbit/s | 50 Mbit/s | 50 Mbit/s | 50 Mbit/s | 50 Mbit/s |
DRM | No | No | No | Yes | Yes | N/A | Yes | Yes |
User encrypt | No | No | No | Yes | No | No | No | No |
Simplified spec | Yes | Yes | No | Not yet? | Yes | Yes | No | No |
Membership cost | JEDEC: $4400/yr, optional | SD Card Association: $2000/yr, general; $4500/yr, executive | ||||||
Specification cost | Free | ? | Simplified spec: free Full spec: free to members, $1000/yr to R&D non-members |
|||||
Host license | No | No | No | No | Yes $1000/yr | |||
Card royalties | Yes | Yes | Yes | Yes | Yes | Yes +$1000/yr | Yes | Yes |
Open source compatible | Yes | Yes | Yes? | Yes? | Yes | Yes | Yes | Yes |
Nominal operating voltage | 3.3V | 1.8V/3.3V | 1.8V/3.3V[65][66] | 1.8V/3.3V | 3.3V | 3.3V | 3.3V | 3.3V |
Type | MMC | RS-MMC | MMC Plus | SecureMMC | SD | SDIO | miniSD | microSD |
Table data compiled mostly from simplified versions of MMC and SDIO specifications and other data on SD card and MMC association web sites. Data for other card variations is interpolated.
Capacity limit in all SD/MMC formats appears to be 128 GB in LBA mode (28-bit sector address).
|
|